Text copied to clipboard!

Title

Text copied to clipboard!

Embedded Systems Programmer

Description

Text copied to clipboard!
We are looking for a talented Embedded Systems Programmer to work in the field of embedded systems. This position involves developing, testing, and maintaining software in systems where hardware and software are tightly integrated. The candidate is expected to have experience with microcontrollers, real-time operating systems (RTOS), low-level programming languages (C/C++), and hardware-software interaction. Embedded systems play a critical role in many industries such as automotive, defense, consumer electronics, medical devices, and industrial automation. Therefore, it is important for the candidate to possess both technical knowledge and problem-solving skills. Candidates who are team-oriented, analytical thinkers, and able to meet project deadlines will be preferred. As an embedded systems programmer, you will be involved in firmware development, writing hardware drivers, system integration, debugging, and performance optimization. You will also be responsible for software updates and maintenance throughout the product lifecycle. This position requires close collaboration with R&D teams and occasional coordination with hardware engineers. A successful candidate should also be proficient in preparing technical documentation, using version control systems (e.g., Git), and working with Agile/Scrum methodologies. As an embedded systems programmer, you are expected to be eager to produce innovative solutions and keep up with technological advancements.

Responsibilities

Text copied to clipboard!
  • Develop and test embedded software
  • Write firmware for microcontroller-based systems
  • Develop and integrate hardware drivers
  • Work with real-time operating systems (RTOS)
  • Analyze and optimize system performance
  • Perform debugging and troubleshooting
  • Prepare technical documentation
  • Use version control systems (e.g., Git)
  • Collaborate with hardware engineers
  • Manage software updates and maintenance

Requirements

Text copied to clipboard!
  • Bachelor’s degree in Electrical-Electronics Engineering, Computer Engineering, or related fields
  • Advanced knowledge of C and C++
  • Experience with microcontrollers and embedded system architectures
  • Knowledge of RTOS and bare-metal programming
  • Experience in hardware-software interaction
  • Ability to use debugging tools and test equipment like oscilloscopes
  • Familiarity with version control systems (Git, SVN)
  • Experience working with Agile/Scrum methodologies
  • Good command of technical English
  • Teamwork and communication skills

Potential interview questions

Text copied to clipboard!
  • How many years of experience do you have with C and C++?
  • Which microcontroller platforms have you worked with?
  • Can you describe a project you developed using RTOS?
  • How did you solve a problem between hardware and software?
  • What is your experience with version control systems?
  • Have you worked with Agile/Scrum methodologies before?
  • Which debugging tools do you use?
  • Do you have experience preparing technical documentation?
  • Describe a project where you performed performance optimization.
  • How familiar are you with security in embedded systems?